package com.sg.dto.biz.component.req;

import com.sg.dto.biz.component.common.CurrentCycleDto;
import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @desc ObtainCurrentCycleServiceComReqDto
 * @使用场景
 */
@Data
public class ObtainCurrentCycleServiceComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 系统当前时间
     */
    @NotNull(message = "系统当前时间不能为空")
    @ApiModelProperty("系统当前时间")
    private Date systemCurrentTime;

    /**
     * 子周期周期类型 FIVE_YEAR:五年 THREE_YEAR:三年 YEAR:年 HALF_YEAR:半年 QUARTER:季度 DOUBLE_MOONS:双月 MONTH:月 SCHOOL_YEAR:学年 IRREGULAR_CYCLE:不规则周期 CUSTOM_WORK_CYCLE:自定义工作周期 CUSTOM_HOLIDAYS:自定义节假周期 NEW_YEAR'S_DAY:元旦 SPRING_FESTIVAL:春节 INTERNATIONAL_WOMEN'_DAY:妇女节 TOMB_SWEEPING_FESTIVAL:清明节 INTERNATIONAL_LABOUR_DAY:劳动节 DRAGON_BOAT_FESTIVAL:端午节 MID-AUTUMN_FESTIVAL:中秋节 NATIONAL_DAY:国庆节 WEEKEND:周末 WEEKDAY:工作日 HOLIDAY:节假日 CUSTOM_WEEKDAY:自定义工作日 CUSTOM_HOLIDAY:自定义节假日
     */
    @NotNull(message = "子周期周期类型不能为空")
    @ApiModelProperty("子周期周期类型")
    private String subcycleType;

    @ApiModelProperty("当前周期列表")
    private List<CurrentCycleDto> currentCycleList = new ArrayList<>();

}
